<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="lib/bootstrap@5.1.3/bootstrap.min.css" rel="stylesheet">
    <link href="lib/bootstrap-icons@1.8.1/bootstrap-icons.css" rel="stylesheet" >

    <!-- Favicon of website  -->
    <link rel="icon" type="image/x-icon" href="assets/paimon.svg">

    <title>Apache Paimon&trade;</title>
  </head>
  <body class="d-flex flex-column min-vh-100">

    <!-- template: nav -->

    <section class="hero-banner position-relative d-flex align-items-center">
      <div class="bg"></div>
      <div class="container position-relative">
        <div class="py-xs-2 py-sm-3 py-md-4 py-xxl-5">
          <div class="row py-5">
            <div class="col-xl-7 col-lg-9">
              <h1 class="fw-bold lh-1 pb-5 hero-title" style="color: #ffffff;">Apache Paimon&trade; <sup><span class="badge rounded-pill bg-primary" style="font-size: .25em">Incubating</span></sup></h1>
              <p class="lead pb-5 fs-4" style="color: #ffffff;">A lake format that enables building a Realtime Lakehouse Architecture with Flink and Spark for both streaming and batch operations. Innovatively combines lake format and LSM structure, bringing realtime streaming updates into the lake architecture.</p>
              <div class="d-grid gap-2 d-md-flex justify-content-md-start">
                <a role="button" class="btn btn-info btn-lg dropdown-toggle px-5 m-1" href="#" role="button" id="getStartedLink" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                  Get Started
                </a>
                <div class="dropdown-menu dropdown-menu-dark" aria-labelledby="getStartedLink">
                  <a class="dropdown-item" href="https://paimon.apache.org/docs/master/engines/flink/">Flink</a>
                  <a class="dropdown-item" href="https://paimon.apache.org/docs/master/engines/spark/">Spark</a>
                  <a class="dropdown-item" href="https://paimon.apache.org/docs/master/engines/hive/">Hive</a>
                  <a class="dropdown-item" href="https://paimon.apache.org/docs/master/engines/presto/">Presto</a>
                  <a class="dropdown-item" href="https://paimon.apache.org/docs/master/engines/trino/">Trino</a>
                </div>
                <a role="button" class="btn btn-info btn-lg px-5 m-1" href="https://github.com/apache/incubator-paimon/">Source Code</a>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>

    <section class="bg-white">
      <div class="container py-5">
        <div class="row py-3 m-1">
          <div class="col-12 text-center pb-3"><h2>One Storage for All Your Data</h2></div>
          <div class="col-md-12 col-lg-10 text-center mx-auto"><img src="assets/architecture.png" width="100%" style="filter: brightness(105%)" /></div>
        </div>
      </div>
    </section>

    <section class="bg-light">
      <div class="container py-5">
        <div class="row py-3">
          <div class="col-12 text-center"><h2>Key Features</h2></div>
        </div>
        <div class="row py-4 justify-content-center m-1">
          <div class="card shadow col-md-10 col-lg-5 col-xl-3 m-3">
            <div class="card-body">
              <div class="text-center text-primary">
                <h2><i class="bi bi-shuffle"></i></h2>
                <h5>Real-time Updates</h5>
              </div>
              <div class="py-3">Primary-key table supports real-time streaming updates of large amounts of data. Real-time query within 1 minute.</div>
            </div>
          </div>
          <div class="card shadow col-md-10 col-lg-5 col-xl-3 m-3">
            <div class="card-body">
              <div class="text-center text-primary">
                <h2><i class="bi bi-calculator"></i></h2>
                <h5>Flexible Updates</h5>
              </div>
              <div class="py-3">Defining Merge Engines, update records however you like. Deduplicate to keep last row, or partial-update, or aggregate records, or first-row, you decide.</div>
            </div>
          </div>
          <div class="card shadow col-md-10 col-lg-5 col-xl-3 m-3">
            <div class="card-body">
              <div class="text-center text-primary">
                <h2><i class="bi bi-clipboard2-pulse"></i></h2>
                <h5>Change-tracking Updates</h5>
              </div>
              <div class="py-3">Defining changelog-producer, produce correct and complete changelog in updates for merge engines, simplifying your streaming analytics.</div>
            </div>
          </div>
          <div class="card shadow col-md-10 col-lg-5 col-xl-3 m-3">
            <div class="card-body">
              <div class="text-center text-primary">
                <h2><i class="bi bi-table"></i></h2>
                <h5>Append Data Processing</h5>
              </div>
              <div class="py-3">Append table (no primary-key) provides large scale batch and streaming processing capability. Supports compaction with z-order sorting.</div>
            </div>
          </div>
          <div class="card shadow col-md-10 col-lg-5 col-xl-3 m-3">
            <div class="card-body">
              <div class="text-center text-primary">
                <h2><i class="bi bi-calendar-event"></i></h2>
                <h5>Query Data Skipping</h5>
              </div>
              <div class="py-3">Based on indexes such as minmax, filter irrelevant files and provide high-performance queries, more indexes are being supported.</div>
            </div>
          </div>
          <div class="card shadow col-md-10 col-lg-5 col-xl-3 m-3">
            <div class="card-body">
              <div class="text-center text-primary">
                <h2><i class="bi bi-clipboard2-pulse"></i></h2>
                <h5>Data Lake Capabilities</h5>
              </div>
              <div class="py-3">Low cost, High reliability, Scalable metadata, Time Travel and Full Schema Evolution. All advantage as a data lake storage.</div>
            </div>
          </div>
        </div>
        <div class="row pb-3"></div>
      </div>
    </section>

    <section style="background-color: #ddeeff">
      <div class="container py-5">
        <div class="row py-3">
          <div class="col-12 text-center"><h2>Join the Community</h2></div>
        </div>
        <div class="row py-4 justify-content-center m-1">
          <div class="card border-primary col-md-10 col-xl-3 m-3" style="background-color: #ddeeff">
            <a class="community-anchor" href="https://qr.dingtalk.com/action/joingroup?code=v1,k1,fJQRBU8+v01pdCtcy+G9YJ38RaCV5RVmrrOblhUlQP4=&_dt_no_comment=1&origin=11">
              <div class="card-body">
                <div class="row d-flex align-items-center">
                  <div class="col-2 align-self-center text-center text-primary">
                    <h1><i class="bi bi-chat"></i></h1>
                  </div>
                  <div class="col-10">
                    <h4 class="card-title text-center text-primary">DingTalk Group</h4>
                  </div>
                </div>
              </div>
            </a>
          </div>

          <div class="card border-primary col-md-10 col-xl-3 m-3" style="background-color: #ddeeff">
            <a class="community-anchor" href="https://github.com/apache/incubator-paimon#mailing-lists">
              <div class="card-body">
                <div class="row d-flex align-items-center">
                  <div class="col-2 align-self-center text-center text-primary">
                    <h1><i class="bi bi-envelope-open"></i></h1>
                  </div>
                  <div class="col-10">
                    <h4 class="card-title text-center text-primary">Mailing List</h4>
                  </div>
                </div>
              </div>
            </a>
          </div>

          <div class="card border-primary col-md-10 col-xl-3 m-3" style="background-color: #ddeeff">
            <a class="community-anchor" href="https://github.com/apache/incubator-paimon/issues">
              <div class="card-body">
                <div class="row d-flex align-items-center">
                  <div class="col-2 align-self-center text-center text-primary">
                    <h1><i class="bi bi-clipboard-check"></i></h1>
                  </div>
                  <div class="col-10">
                    <h4 class="card-title text-center text-primary">Issue Tracking</h4>
                  </div>
                </div>
              </div>
            </a>
          </div>
        </div>
      </div>
    </section>

    <!-- template: footer -->

    <!-- Bootstrap JS -->
    <script src="lib/bootstrap@5.1.3/bootstrap.bundle.min.js"></script>
  </body>

  <style>
  .hero-banner {
    height: 720px;
    background-color: rgb(0, 1, 25);
  }

  .hero-banner > .bg {
    background: no-repeat right center;
    background-image: linear-gradient(to right, rgba(0, 1, 25, 1) 0%, rgba(0, 1, 25, 0) 10%), url(assets/hero.jpg);
    background-size: 1000px 720px;
    height: 720px;
    top: 0;
    position: absolute;
    right: 0;
    width: 100%;
  }

  @media (max-width: 575px) {
    .hero-title {
      font-size: 2.5em;
    }

    .hero-banner > .bg {
      opacity: 0.3;
      background-position-x: center;
    }
  }

  @media (min-width: 576px) and (max-width: 991px) {
    .hero-title {
      font-size: 3em;
    }

    .hero-banner > .bg {
      opacity: 0.3;
      background-position-x: center;
    }
  }

  @media (min-width: 992px) and (max-width: 1399px) {
    .hero-title {
      font-size: 3em;
    }

    .hero-banner > .bg {
      opacity: 0.5;
    }
  }

  @media (min-width: 1400px) {
    .hero-title {
      font-size: 4em;
    }
  }

  .community-anchor {
    text-decoration: inherit;
    color: inherit;
  }
  </style>
</html>
